(1) Field of the Invention
The present invention is generally related to the verification and calibration of color as well as corrective adjustments for an imaging device.
(2) Background Information
Color is basically what the human visual system perceives on receiving various wavelengths of light that have reflected off objects. This color recognition is also known as the spectral sensitivity of the human visual system. To express the perceived colors numerically, many methods have been developed of which one of them is the XYZ tristimulus values as developed by an international organization known as “Commission Internationale de I'Eclairge” (CIE). The XYZ tristimulus values are based on the theory that the human visual system possesses receptors for three primary colors red, green, and blue and that all the colors perceived are mixtures of these three primary colors.
FIG. 1 illustrates the spectral sensitivity corresponding to the human visual system in terms of XYZ tristimulus values. Ideally, if imager device response channels were to exactly duplicate the XYZ tristimulus values, in theory, that imager device could be capable of exactly duplicating the colors seen by the human visual system. However, due to the complexities involved in producing such an imager device, it is not practical to exactly duplicate the XYZ tristimulus values.
FIG. 2 illustrates an exemplary red, green and blue response of an imager device. It is desirable to transform the response to be as closely correlating as possible to the XYZ tristimulus values so that the imager device may channel outputs that closely correspond to the color seen by the human visual system. This is the function of color calibration that is performed on the imager device.
The function of the color calibration is to find a color calibrating matrix (e.g., a 3×3 matrix) that brings the response of the image sensor as close as possible (i.e., least squares error) to that of the XYZ tristimulus values. An exemplary method of determining the color calibrating 3×3 matrix is to take several reflective color targets of known XYZ tristimulus values such as a rendition chart having the Macbeth Colorchecker® targets available from Macbeth/Kollmorgen Instruments Corporation in New Windsor, N.Y., that represent twenty-four colors and generally depict the colors in various regions of the color space. By taking the corresponding red, green and blue (RGB) values generated by the image device, a calibrating matrix that closely represents the XYZ tristimulus values of the targets is found. Mathematically, the transformation may be represented as follows:
Using the imager device to be calibrated, twenty-four color targets having known X Y Z tristimulus target values are read (measured) by the imager to produce responses in the imager. From these responses, the imager generates the corresponding RGB values. Note that each X Y Z tristimulus values for the color targets are known. The measured RGB values are loaded into a measured data matrix (MEAS), an example being:                               Target          ⁢                                          ⁢          0                                              Target          ⁢                                          ⁢          1                                              Target          ⁢                                          ⁢          2                                              Target          ⁢                                          ⁢          3                                    ⋮                                      Target          ⁢                                          ⁢          22                                              Target          ⁢                                          ⁢          23                      ⁢                              R          0                                      G          0                                      B          0                                              R          1                                      G          1                                      B          1                                              R          2                                      G          2                                      B          2                                              R          3                                      G          3                                      B          3                                    ⋮                    ⋮                    ⋮                                      R          22                                      G          22                                      B          22                                              R          23                                      G          23                                      B          23                    
The relationship between the RGB values and the XYZ tristimulus values can be represented by the equation:       [                            X                                      Y                                      Z                      ]    =            [              3        ×        3            ]        ⁡          [                                    R                                                G                                                B                              ]      
The 3×3 color calibrating matrix can be further specified as:       [          3      ×      3        ]    =      [                                        M            11                                                M            12                                                M            13                                                            M            21                                                M            22                                                M            23                                                            M            31                                                M            32                                                M            33                                ]  
Where M11, . . . , M33 are the desired color calibrating coefficients of the color calibrating matrix.
Thus, the color calibrating coefficients are computed as follows:       [                                        M            11                                                            M            12                                                            M            13                                ]    =                              (                                    MEAS              T                        ·            MEAS                    )                          -          1                    ·                                    MEAS            T                    ⁡                      [                                                                                X                    0                                                                                                                    X                    1                                                                                                ⋮                                                                                                  X                    23                                                                        ]                          ⁢                                  [                                                            M                21                                                                                        M                22                                                                                        M                23                                                    ]              =                                        (                                          MEAS                T                            ·              MEAS                        )                                -            1                          ·                                            MEAS              T                        ⁡                          [                                                                                          Y                      0                                                                                                                                  Y                      1                                                                                                            ⋮                                                                                                              Y                      23                                                                                  ]                                ⁢                                          [                                                                      M                  31                                                                                                      M                  32                                                                                                      M                  33                                                              ]                    =                                    (                                          MEAS                T                            ·              MEAS                        )                                -            1                          ·                              MEAS            T                    ⁡                      [                                                                                Z                    0                                                                                                                    Z                    1                                                                                                ⋮                                                                                                  Z                    23                                                                        ]                              
A matrix may be thought of as a rectangular column and row array of numeric or algebraic quantities subject to mathematical operations. A transpose is a matrix formed by interchanging the rows and columns of a given matrix. In the above expression, MEAST refers to the transpose of MEAS matrix. ( )−1 denotes an inverse. Further, Xn, Yn, Zn are XYZ tristimulus values of the respective targets n.
The least-squares method is a method to obtain the best values (the ones with least error) of unknown quantities that are supposed to satisfy a system of linear equations, such as may be expressed by matrices. From above, the color calibrating coefficients M11, . . . , M33 are selected to provide the minimized least squares error that corresponds to the best fit for mapping the measured RGB values of the imager device into the known XYZ tristimulus values of the color targets. It may not be immediately apparent why the coefficients obtained through this method would provide the least squares error and further discussion can be found in Box, Hunter and Hunter, “Statistics for Experimenters” (John Wiley and Sons, New York, 1978) at page 498–502. It is desirable that the coefficient values be calculated and stored with a minimum of three significant digits of accuracy. Note that as long as the proper luminance is provided against the rendition chart targets (or target chips), the magnitudes of the coefficients are not important but only the ratios between the coefficients. Thus, the matrices:   M  =      (                            16.645                          7.013                          1.253                                      6.997                          17.706                                      -            1.881                                                0.386                                      -            4.826                                    23.327                      )  and   M  =      (                            33.29                          14.026                          2.506                                      13.994                          35.411                                      -            3.762                                                0.772                                      -            9.652                                    46.655                      )                  are equivalent in terms of their color calibrating accuracy.        
While the method of individually calibrating each imager device by exposing that device to the target chips of a rendition chart is fundamentally correct in its approach, it is cumbersome to implement in high volume production. For example, multiple color targets, typically twenty-four, are required to accumulate the tested imager device's response to the Macbeth Colorchecker®. In other words, twenty-four color targets are imaged sequentially for each imager device being calibrated. This technique requires substantial amount of time which hinders the flow of production thereby increasing the production cost. Generally, each imager device produced during manufacture is presumed to have its own color calibrating matrix corresponding to the variation in RGB responses and thus, each imager device is calibrated individually. In addition, because the targets are changed frequently during calibration, the targets are subject to possible contamination during handling which results in an inaccurate calibration. Further, the targets may fade with constant exposure to light requiring special storage during non-use and frequent change out. Additionally, because the color of the reflective color targets varies with the ruminating light, a reference light source corresponding to CIE D65 illumination is provided that needs to be constantly checked for color temperature and intensity. Furthermore, in using color targets, a fairly large production area must be allocated so that an appropriate target distant relationship exists with the image sensor under calibration. Therefore, what is needed is a method and apparatus for producing the color calibration coefficients or color calibrating matrix without the difficulties associated with the use of reflective color targets.